home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / FLEX.TYPE.SHK / FLEX.TYPE / CHANGE FONT SIZE.bas < prev    next >
BASIC Source File  |  2000-01-01  |  2KB  |  64 lines

  1. 10  REM CHANGE FONT SIZE
  2. 20  LOMEM: ( PEEK(176) +4) *256
  3. 30  TEXT : HOME 
  4. 40  HTAB 16: INVERSE : PRINT ":CONVERTER:": POKE 34,2: NORMAL 
  5. 50  PRINT 
  6. 60  PRINT "DO YOU NEED A DESCRIPTION (Y/N)? ";: GET X$
  7. 70  IF X$ < >"Y"  THEN 120
  8. 80  PRINT : PRINT 
  9. 90  PRINT "THIS PROGRAM WILL SHRINK ALL OF THE": PRINT "CHARACTERS OF A 40 COLUMN TEXT FONT TO": PRINT "THE SIZE OF A 56 OR 70 COLUMN FONT."
  10. 100  PRINT : PRINT "(NOTE: BECAUSE THE CONVERSION ALGORITHM": PRINT "IS GENERAL, IT IS ALMOST CERTAIN THAT": PRINT "10% - 20% OF THE CHARACTERS WILL NEED": PRINT "TO BE TOUCHED UP.)"
  11. 110  PRINT : PRINT "PRESS ANY KEY TO CONTINUE.";: GET X$
  12. 120  HOME 
  13. 130  PRINT "ENTER THE NAME OF THE CHARACTER SET YOU": PRINT "WOULD LIKE TO SHRINK:": INPUT "";CS$
  14. 140 A = ( PEEK(176) +1) *256
  15. 150  PRINT 
  16. 160  PRINT "LOADING THE CHARACTER SET.": PRINT  CHR$(4)"BLOAD"CS$",A"A
  17. 170  PRINT : PRINT "SHRINK IT TO 56 COLUMN SIZE OR TO": PRINT "70 COLUMN SIZE (5=56/7=70)? ";: GET X$
  18. 180  IF X$ = "5"  THEN  PRINT X$: GOTO 210
  19. 190  IF X$ = "7"  THEN  PRINT X$: GOTO 390
  20. 200  VTAB 8: HTAB 1: GOTO 170
  21. 210  PRINT : PRINT "SHRINKING."
  22. 220  PRINT : PRINT "[   ] <-- THIS WILL BE 768 WHEN DONE.";
  23. 230  FOR I = A TO A +767
  24. 240 BYTE =  PEEK(I)
  25. 250 TEMP = 0:K = 16:P1 = 32
  26. 260  IF BYTE > = 128  THEN BYTE = BYTE -128
  27. 270  IF BYTE > = 64  THEN BYTE = BYTE -64
  28. 280  FOR J = 5 TO 0  STEP  -1
  29. 290  IF BYTE <P1  THEN 330
  30. 300 BYTE = BYTE -P1
  31. 310  IF J = 2  THEN 330
  32. 320 TEMP = TEMP +K
  33. 330  IF J < >2  THEN K = K/2
  34. 340 P1 = P1/2
  35. 350  NEXT 
  36. 360  POKE I,TEMP
  37. 370  HTAB 2: PRINT (I -A) +1;
  38. 380  NEXT : GOTO 580
  39. 390  PRINT : PRINT "SHRINKING."
  40. 400  PRINT : PRINT "[   ] <-- THIS WILL BE 768 WHEN DONE.";
  41. 410  FOR I = A TO A +767
  42. 420 BYTE =  PEEK(I)
  43. 430 TEMP = 0:K = 8:P1 = 32
  44. 440  IF BYTE > = 128  THEN BYTE = BYTE -128
  45. 450  IF BYTE > = 64  THEN BYTE = BYTE -64
  46. 460  FOR J = 5 TO 0  STEP  -1
  47. 470  IF BYTE <P1  THEN 520
  48. 480 BYTE = BYTE -P1
  49. 490  IF J = 2  THEN 520
  50. 500  IF J = 4  THEN 520
  51. 510 TEMP = TEMP +K
  52. 520  IF J < >2  AND J < >4  THEN K = K/2
  53. 530 P1 = P1/2
  54. 540  NEXT 
  55. 550  POKE I,TEMP
  56. 560  HTAB 2: PRINT (I -A) +1;
  57. 570  NEXT 
  58. 580  PRINT : PRINT : PRINT "ENTER THE NEW NAME FOR SAVING THE": PRINT "CHARACTER SET. (RETURN FOR SAME NAME)": INPUT "";X$
  59. 590  IF X$ = ""  THEN X$ = CS$
  60. 600  PRINT : PRINT "SAVING THE CHARACTER SET."
  61. 610  PRINT  CHR$(4)"BSAVE"X$",A"A",L"768
  62. 620  PRINT : PRINT "WOULD YOU LIKE TO SHRINK ANOTHER ": PRINT "CHARACTER SET (Y/N)? ";: GET X$
  63. 630  IF X$ = "Y"  THEN 120
  64. 640  TEXT : HOME : END